package com.heaven.service;

import com.heaven.core.entity.UserEntity;
import com.heaven.core.framework.PzService;
import com.heaven.customerServer.customerController.vo.login.LoginRes;
import com.heaven.customerServer.customerController.vo.user.UserInfoRes;

public interface UserService extends PzService<UserEntity> {
    /**
     * 初始化用户信息,用于传递给前端展示
     * @param userEntity 数据库原始数据
     * @return 前端展示数据
     */
    UserEntity initUser(UserEntity userEntity);

    UserInfoRes getUserInfo(String userId, LoginRes.UserSession session);

    /**
     * session用户订阅操作
     *
     * @param id  订阅对象ID
     * @param session 登录 session
     * @param type 1：订阅用户；2：订阅视频；3：订阅文贴；4：订阅聊天对象
     */
    void subscribe(String id, LoginRes.UserSession session, int type);
}
